
// 图形标题字体大小
var chartTitleFontSize = 18;
// 图形字体大小
var chartFontSize = 14;
// 图形文字颜色
var chartTextColor = '#000';
// 图形默认配色
var chartColorWheel = ['#37a2da', '#32c5e9', '#67e0e3', '#9fe6b8', '#ffdb5c', '#ff9f7f', '#fb7293', '#e062ae', '#e690d1', '#e7bcf3', '#9d96f5', '#8378ea', '#96bfff'];

if (theme && theme == 'skin_blue') {
	chartTextColor = '#fff';
}

/**
*	自定义Echart图形
*
*	parameter:	obj 	[获取参数]
* 				option	[配置项]
*			
*/
var echartByCustom = function(obj, option){
	if (!option) return;
	
	// 指定图表的配置项和数据
	var chartOption = {};
	
	// title
	if (option.title) chartOption.title = option.title;
	else chartOption.title = {};
	// 标题文本样式
	if (!chartOption.title.textStyle) chartOption.title.textStyle = {};
	if (!chartOption.title.textStyle.color) chartOption.title.textStyle.color = chartTextColor;
	if (!chartOption.title.textStyle.fontSize) chartOption.title.textStyle.fontSize = chartFontSize;
	
	// tooltip
	if (option.tooltip) chartOption.tooltip = option.tooltip;
	else chartOption.tooltip = {};
	// 触发类型，默认数据触发
	if (!chartOption.tooltip.trigger) chartOption.tooltip.trigger = 'axis';
	if (option.tooltipTrigger) chartOption.tooltip.trigger = option.tooltipTrigger;
	// 坐标轴指示器，坐标轴触发有效
	if (!chartOption.tooltip.axisPointer) chartOption.tooltip.axisPointer = {};
	if (!chartOption.tooltip.axisPointer.type) chartOption.tooltip.axisPointer.type = 'shadow';
	if (option.tooltipFormatter) chartOption.tooltip.formatter = option.tooltipFormatter;
	
	// legend 图例
	if (option.legend) chartOption.legend = option.legend;
	else chartOption.legend = {};
	// 图例文本样式
	if (!chartOption.legend.textStyle) chartOption.legend.textStyle = {};
	if (!chartOption.legend.textStyle.color) chartOption.legend.textStyle.color = chartTextColor;
	if (!chartOption.legend.textStyle.fontSize) chartOption.legend.textStyle.fontSize = chartFontSize;
	if (option.legendData) chartOption.legend.data = option.legendData;
	
	// color
	if (option.color) chartOption.color = option.color;
	else chartOption.color = chartColorWheel;
	
	// grid
	if (option.grid) chartOption.grid = option.grid;
	
	// series
	if (option.series) chartOption.series = option.series;
	else chartOption.series = [];
	$.each(chartOption.series, function(i, serie){
		if (!serie.itemStyle) serie.itemStyle = {};
		if (!serie.itemStyle.normal) serie.itemStyle.normal = {};
		if (!serie.itemStyle.normal.label) serie.itemStyle.normal.label = {};
		// 图形文本样式
		if (!serie.itemStyle.normal.label.textStyle) serie.itemStyle.normal.label.textStyle = {};
		if (!serie.itemStyle.normal.label.textStyle.color) serie.itemStyle.normal.label.textStyle.color = chartTextColor;
		if (!serie.itemStyle.normal.label.textStyle.fontSize) serie.itemStyle.normal.label.textStyle.fontSize = chartFontSize;
	});
	
	if (option.chartType != 'pie') {
		
		// 坐标轴样式
		var setAxisStyle = function(axis) {
			// 分隔线
			if (!axis.splitLine) axis.splitLine = { show: false };
			// 坐标轴线
			if (!axis.axisLine) axis.axisLine = {};
			if (!axis.axisLine.lineStyle) axis.axisLine.lineStyle = {};
			if (!axis.axisLine.lineStyle.color) axis.axisLine.lineStyle.color = chartTextColor;
			// 坐标轴文本标签
			if (!axis.axisLabel) axis.axisLabel = {};
			if (!axis.axisLabel.textStyle) axis.axisLabel.textStyle = {};
			if (!axis.axisLabel.textStyle.color) axis.axisLabel.textStyle.color = chartTextColor;
			if (!axis.axisLabel.textStyle.fontSize) axis.axisLabel.textStyle.fontSize = chartFontSize;
		}
		
		// xAxis
		if (option.xAxis) chartOption.xAxis = option.xAxis;
		else chartOption.xAxis = [{}];
		$.each(chartOption.xAxis, function(i, xAxis) {
			if (!xAxis.type) xAxis.type = 'category';
			setAxisStyle(xAxis);
			// 坐标轴数据
			if (option.xAxisData) xAxis.data = option.xAxisData;
		});
		
		// yAxis
		if (option.yAxis) chartOption.yAxis = option.yAxis;
		else chartOption.yAxis = [{}];
		$.each(chartOption.yAxis, function(i, yAxis) {
			if (!yAxis.type) yAxis.type = 'value';
			setAxisStyle(yAxis);
			// 坐标轴名称
			if (option.yAxisName) yAxis.name = option.yAxisName;
		});
	}

	// 设置浏览器类型不为IE时显示动画效果
	if (getBrowserType().type != 'IE') chartOption.calculable = true;

	var myChart = echarts.init(document.getElementById(obj));
	
	//console.log(chartOption);
	// 使用刚指定的配置项和数据显示图表
	myChart.setOption(chartOption);
	//console.log(myChart._model.option);
	
	// 触发事件
	if (option.eventClick) {
		myChart.on('click', option.eventClick);
	}
}